Skip to content

Add pcie qref regulator for Hamoa IOT EVK platform#648

Open
ziyuezhang-123 wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
ziyuezhang-123:hamoa_qref
Open

Add pcie qref regulator for Hamoa IOT EVK platform#648
ziyuezhang-123 wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
ziyuezhang-123:hamoa_qref

Conversation

@ziyuezhang-123
Copy link
Copy Markdown

@ziyuezhang-123 ziyuezhang-123 commented Jun 3, 2026

Change 1: phy: qcom: qmp-pcie: add x1e80100 qref supplies
Restores vdda-qref supply for PCIe PHY instances on X1E80100 that were incorrectly removed by previous commits, and
adds missing vdda-qref support for the Gen3x2 PCIe instance.
Change 2: arm64: dts: qcom: Add qref supply for PCIe PHYs
Explicitly adds vdda-qref power supply to all PCIe PHY device tree nodes on X1E80100, ensuring the DT accurately
reflects the hardware requirements.

———
Why need this change:
All PCIe PHYs on X1E80100 require vdda-qref supply. Without explicitly voting for it, PCIe PHY functionality relies on
other components accidentally keeping the regulator alive, which is not guaranteed.
Why it cannot be upstreamed:
The proper upstream fix requires moving the qref and refgen vote into the TCSR driver, which is not yet ready. These
changes serve as a temporary workaround and will be reverted once the upstream solution is available.

CRs-Fixed: 4536367
qli-2.0 GA Critical Fix

Ziyue Zhang added 2 commits June 3, 2026 17:09
All PCIe PHYs on X1E80100 require vdda-qref power supplies, but this is
missing in the current PHY device tree node. The PCIe port can still
function because the regulator L3J, which vdda-qref consumes, is voted by
other components.

Since the device tree should accurately describe the hardware, add the
vdda-qref power supply explicitly in all PCIe PHY device nodes.

Workaround will be reverted once the vote qref regulator for PCIe available in upstream.

Signed-off-by: Qiang Yu <qiang.yu@oss.qualcomm.com>
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
All PCIe PHYs on the X1E80100 SOC require the vdda-qref, which feeds QREF
clocks provided by the TCSR device.

Hence, restore the vdda-qref request for the 6th and the 3th PCIe instance
by reverting commit 031b46b ("phy: qcom: qmp-pcie: drop bogus x1e80100
qref supplies") and commit eb7a22f("phy: qcom: qmp-pcie: drop bogus
x1e80100 qref supply"). For the 4th PCIe instance (Gen3 x2), add a new
driver data entry, namely x1e80100_qmp_gen3x2_pciephy_cfg, which is a copy
of sm8550_qmp_gen3x2_pciephy_cfg but uses sm8550_qmp_phy_vreg_l instead.

Workaround will be reverted once the vote qref regulator for PCIe available in upstream.

Fixes: eb7a22f ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
Fixes: 031b46b ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
Fixes: 606060c ("phy: qcom-qmp-pcie: Add support for X1E80100 g3x2 and g4x2 PCIE")
Cc: Johan Hovold <johan+linaro@kernel.org>
Cc: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Wenbin Yao <quic_wenbyao@quicinc.com>
Signed-off-by: Qiang Yu <qiang.yu@oss.qualcomm.com>
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
@ziyuezhang-123 ziyuezhang-123 requested review from a team, aiquny, idlethread and quic-kaushalk June 3, 2026 09:24
@qlijarvis
Copy link
Copy Markdown

PR #648 — validate-patch

PR: #648

Verdict Issues Detailed Report
⚠️ 2 Full report

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; vendor-specific temporary fix, no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor workaround explicitly marked for future revert when upstream solution available
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commits

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #648 - WORKAROUND: Add qref supply for PCIe PHYs on X1E80100
Upstream commit: N/A (vendor workaround)
Verdict: ⚠️ PARTIAL


Patch 1/2: WORKAROUND: arm64: dts: qcom: Add qref supply for PCIe PHYs

Commit Message

Check Status Note
Subject matches upstream N/A Vendor workaround, not upstream
Body preserves rationale Clear explanation of why workaround is needed
Fixes tag present/correct N/A No Fixes tag (not fixing a regression)
Authorship preserved Dual sign-off by Qiang Yu and Ziyue Zhang
Backport note (if applicable) N/A Forward-port workaround, not backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/hamoa-iot-som.dtsi Adds vdda-qref-supply to 4 PCIe PHY nodes consistently

Issues

  • Incomplete Fixes tags in commit 2/2: The Fixes tags reference short commit hashes (eb7a22f, 031b46b, 606060c) without the required 12-character minimum. Kernel style requires Fixes: <12+ char hash> ("subject line").
  • Workaround lifecycle unclear: While the commit message states "Workaround will be reverted once the vote qref regulator for PCIe available in upstream," there's no tracking issue or timeline reference.

Patch 2/2: WORKAROUND: phy: qcom: qmp-pcie: add x1e80100 qref supplies

Commit Message

Check Status Note
Subject matches upstream N/A Vendor workaround, not upstream
Body preserves rationale Explains reverting upstream commits and adding new config
Fixes tag present/correct Short hashes (7 chars) instead of required 12+
Authorship preserved Triple sign-off chain preserved
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c Adds x1e80100_qmp_gen3x2_pciephy_cfg, switches vreg_list to sm8550_qmp_phy_vreg_l for 3 configs

Issues

  • Fixes tag format violation: All three Fixes tags use 7-character short hashes. Kernel coding style (Documentation/process/submitting-patches.rst) requires minimum 12 characters:

    Fixes: eb7a22f ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
    Fixes: 031b46b ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
    Fixes: 606060c ("phy: qcom-qmp-pcie: Add support for X1E80100 g3x2 and g4x2 PCIE")
    

    Should be:

    Fixes: eb7a22f12345 ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
    

    (with actual 12+ char hashes)

  • Duplicate Fixes subjects: First two Fixes tags have identical subject lines but different hashes, suggesting they may reference different commits that did the same thing. This should be verified.

  • Cc: tags without context: The Cc: tags for Johan Hovold and Abel Vesa are present but unusual for a vendor workaround that won't be upstreamed. If these maintainers were involved in the original upstream discussion, a note explaining the context would help.


Verdict

Merge with fixes recommended. The patches are functionally sound vendor workarounds with clear rationale, but the Fixes tags in patch 2/2 violate kernel commit message format (short hashes). These should be expanded to 12+ characters before merge.


Final Summary

  1. Lore link present: No — WORKAROUND: prefix; vendor-specific temporary fix, no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor workaround explicitly marked for future revert when upstream solution available
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commits

Recommendations

  1. Fix Fixes tags: Expand all commit hashes in Fixes tags to 12+ characters in patch 2/2
  2. Consider tracking: Add a reference to an internal tracking issue for reverting these workarounds when upstream solution lands
  3. Verify duplicate Fixes: Confirm whether commits eb7a22f and 031b46b are truly different commits with identical subjects

@qlijarvis
Copy link
Copy Markdown

PR #648 — checker-log-analyzer

PR: #648
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/26875907970

Checker Result Summary
Checker Result Summary
checkpatch 2 errors, 5 warnings: malformed commit references and Fixes tags
dt-binding-check No DT binding changes
dtb-check No new DTB validation errors
sparse-check Passed
check-uapi-headers No UAPI header changes
check-patch-compliance Missing required subject prefix (FROMLIST/UPSTREAM/BACKPORT)
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check ⏭️ Not applicable for qcom-6.18.y branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #648 - Add qref supply for PCIe PHYs on X1E80100
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26875907970

Checker Result Summary
checkpatch 2 errors, 5 warnings: malformed commit references and Fixes tags
dt-binding-check No DT binding changes
dtb-check No new DTB validation errors
sparse-check Passed
check-uapi-headers No UAPI header changes
check-patch-compliance Missing required subject prefix (FROMLIST/UPSTREAM/BACKPORT)
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check ⏭️ Not applicable for qcom-6.18.y branch

❌ checkpatch

Root cause: Commit references and Fixes tags use abbreviated SHA-1 hashes (7 chars) instead of the required 12+ characters.

Failure details:

Commit a0a7d91a2dbc (patch 2/2):

ERROR: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 031b46b4729b ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")'

ERROR: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit eb7a22f830f6 ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supply")'

WARNING: Please use correct Fixes: style 'Fixes: <12+ chars of sha1> ("<title line>")' - ie: 'Fixes: eb7a22f830f6 ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supply")'

WARNING: Please use correct Fixes: style 'Fixes: <12+ chars of sha1> ("<title line>")' - ie: 'Fixes: 031b46b4729b ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")'

WARNING: Please use correct Fixes: style 'Fixes: <12+ chars of sha1> ("<title line>")' - ie: 'Fixes: 606060ce8fd0 ("phy: qcom-qmp-pcie: Add support for X1E80100 g3x2 and g4x2 PCIE")'

WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)

Commit 6c0fe8b0642b (patch 1/2):

WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)

Fix:

  1. Expand all commit SHA-1 references to 12+ characters:

    • Change 031b46b031b46b4729b
    • Change eb7a22feb7a22f830f6
    • Change 606060c606060ce8fd0
  2. Update commit message body in patch 2/2 from:

    by reverting commit 031b46b ("phy: qcom: qmp-pcie: drop bogus x1e80100
    qref supplies") and commit eb7a22f("phy: qcom: qmp-pcie: drop bogus
    x1e80100 qref supply").
    

    to:

    by reverting commit 031b46b4729b ("phy: qcom: qmp-pcie: drop bogus
    x1e80100 qref supplies") and commit eb7a22f830f6 ("phy: qcom: qmp-pcie:
    drop bogus x1e80100 qref supply").
    
  3. Update Fixes tags in patch 2/2 from:

    Fixes: eb7a22f ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
    Fixes: 031b46b ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
    Fixes: 606060c ("phy: qcom-qmp-pcie: Add support for X1E80100 g3x2 and g4x2 PCIE")
    

    to:

    Fixes: eb7a22f830f6 ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supply")
    Fixes: 031b46b4729b ("phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies")
    Fixes: 606060ce8fd0 ("phy: qcom-qmp-pcie: Add support for X1E80100 g3x2 and g4x2 PCIE")
    
  4. Optionally wrap long lines in commit descriptions to stay under 75 characters.

Reproduce locally:

./scripts/checkpatch.pl --git HEAD~2..HEAD

❌ check-patch-compliance

Root cause: Both commits use WORKAROUND: prefix, which is not a recognized upstream compliance tag.

Failure details:

Checking commit: WORKAROUND: arm64: dts: qcom: Add qref supply for PCIe PHYs
Commit summary does not start with a required prefix

Checking commit: WORKAROUND: phy: qcom: qmp-pcie: add x1e80100 qref supplies
Commit summary does not start with a required prefix

Fix:

The check-patch-compliance checker requires one of these prefixes:

  • UPSTREAM: — patch is already merged in upstream (Linus' tree or subsystem maintainer tree)
  • FROMLIST: — patch is posted to upstream mailing list but not yet merged
  • BACKPORT: — patch is a backport from a newer kernel version
  • FROMGIT: — patch is in a maintainer's git tree but not yet in Linus' tree

Since these are workarounds that will be reverted when upstream support is available, the correct prefix is FROMLIST: if the patches have been posted upstream, or you should:

  1. If posted to LKML: Change subject prefix from WORKAROUND: to FROMLIST:
  2. If not posted upstream: Either:
    • Post the patches to the appropriate mailing list (linux-arm-msm, linux-phy) and use FROMLIST:
    • Use BACKPORT: if these are backports of patches from a newer kernel
    • Request an exemption for internal workarounds (requires policy discussion)

Example fix for patch 1/2:

FROMLIST: arm64: dts: qcom: Add qref supply for PCIe PHYs

Example fix for patch 2/2:

FROMLIST: phy: qcom: qmp-pcie: add x1e80100 qref supplies

Reproduce locally:

cd /path/to/kernel
git log --oneline HEAD~2..HEAD | while read sha subject; do
  if ! echo "$subject" | grep -qE '^(UPSTREAM|FROMLIST|BACKPORT|FROMGIT):'; then
    echo "FAIL: $sha $subject"
  fi
done

Verdict

2 blockers must be fixed before merge:

  1. checkpatch: Expand all commit SHA-1 references to 12+ characters in commit messages and Fixes tags
  2. check-patch-compliance: Replace WORKAROUND: prefix with FROMLIST:, UPSTREAM:, or BACKPORT: as appropriate

All other checkers (dt-binding-check, dtb-check, sparse-check, check-uapi-headers) passed successfully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants